/**
 * @file dbpersonne.h
 * @brief Fichier d'entête du module dbpersonne.
 *
 * @author Delory Rachid, Keita Mamadou, Bernard Florian
 */
#ifndef H_DB_PERSONNE_H
#define H_DB_PERSONNE_H

/* *********************************************************************

                   Librairies de Regroupement

********************************************************************* */

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "database.h"
#include "dbpays.h"
#include "dbdate.h"
#include "../core/personne.h"
#include "../core/ensemble.h"

enum 
  {
    TOUS_DPER,
    SEUL_DPER
  };

/* *********************************************************************

                Fonctions relatives aux personnes

********************************************************************* */

/**
 * @fn void recuperation_DPer(Ensemble *ePersonne);
 * @brief Récupératiode toute les personnes
 *
 * @param[in,out] ePersonne
 *
 */
void recuperation_DPer(Ensemble *ePersonne, const int id, const int type);

/**
 * @f void recuperationOeuvre_DPer(Ensemble *ePersonne, const int id);
 * @brief Récupération d'un ensemble de personnes dans l'oeuvre dont l'id est id
 *
 * @param[in,out] ePersonne
 * @param id Identifiant de l'oeuvre.
 */
void recuperationOeuvre_DPer(Personne **personne, const int id);

/**
 * @fn void insertion_DPer(Personne *personne);
 * @brief insertion personne dont l'id est id
 *
 * @param[in,out] personne
 *
 */
void insertion_DPer(Personne *personne);

/**
 * @fn void suppression_DPer(const int id);
 * @brief suppression personne dont l'id est id
 *
 * @param id
 *
 */
void suppression_DPer(const int id);

/* *********************************************************************

                       Test de Non Régression

********************************************************************* */

/**
 * @fn void regression_DGen()
 * @brief Teste toutes les fonctions du module dbpersonne.
 */
void regression_DGen();


#endif
